741d0f3fc056de1dc3fd5090ce89a8aaf47b4ec1,core/baseLanguage/baseLanguage/source_gen/jetbrains/mps/stubs/javastub/ASMModelLoader.java,ASMModelLoader,addEnumConstReference,#SNode#String#ASMEnumValue#,800

Before Change


  private void addEnumConstReference(SNode sourceNode, String role, ASMEnumValue enumValue) {
    ASMClassType classType = (ASMClassType) enumValue.getType();
    SModelDescriptor targetModel = this.getModelDescriptor(NodeNameUtil.getNamespace(classType.getName()));
    if (sourceNode.getModel().getModelDescriptor() != targetModel) {
      SNodeId nodeId = ASMNodeId.createFieldId(classType.getName(), enumValue.getConstant());
      SReference reference = SReference.create(role, sourceNode, targetModel.getSModelReference(), nodeId);
      sourceNode.addReference(reference);

After Change


  private void addEnumConstReference(SNode sourceNode, String role, ASMEnumValue enumValue) {
    ASMClassType classType = (ASMClassType) enumValue.getType();
    SModelReference targetRef = this.getModelReferenceFor(NodeNameUtil.getNamespace(classType.getName()));
    if (!(sourceNode.getModel().getSModelReference().equals(targetRef))) {
      SNodeId nodeId = ASMNodeId.createFieldId(classType.getName(), enumValue.getConstant());
      SReference reference = SReference.create(role, sourceNode, targetRef, nodeId);
      sourceNode.addReference(reference);